#ifndef _ICELUA_PROXY_H_
#define _ICELUA_PROXY_H_


#include "Ice/Proxy.h"
#include "Ice/Incoming.h"

namespace IceLua
{
	class LuaProxy : public IceProxy::Ice::Object
	{
	public:
		LuaProxy();
		
		static LuaProxy* createFrom(Ice::ObjectPrx prx);
		LuaProxy* facetof(const std::string& facet);

		::Ice::AsyncResultPtr invoke(std::string operation,std::vector<Ice::Byte>* params, Ice::Callback_Object_ice_invoke_Base* cb);
		virtual ::Ice::DispatchStatus __dispatch(::IceInternal::Incoming&, const ::Ice::Current&);
	};
}

#endif //_ICELUA_PROXY_H_